Skip to main content

Atomic Tasks

This page categorizes and lists all Robocasa atomic kitchen manipulation tasks that are registered as Gymnasium environments, grouped according to their implementation module in the codebase. Each task can be instantiated with gym.make(<Task ID>) using the Gymnasium API. All environments share the base entry point isaaclab.envs:ManagerBasedRLEnv, and specific task logic is specified via the env_cfg_entry_point argument.

Note: The second column shows the Task Name for each atomic task.

kitchen_coffee

Task IDTask NameDescription
Robocasa-Task-StartCoffeeMachineStartCoffeeMachinePress the button on the coffee machine to serve coffee.
Robocasa-Task-CoffeeServeMugCoffeeServeMugPick the object from under the coffee machine dispenser and place it on the counter.
Robocasa-Task-CoffeeSetupMugCoffeeSetupMugPick the object from the counter and place it under the coffee machine dispenser.

kitchen_doors

Task IDTask NameDescription
Robocasa-Task-OpenOvenOpenOvenOpen the oven door.
Robocasa-Task-CloseOvenCloseOvenClose the oven door.
Robocasa-Task-OpenToasterOvenDoorOpenToasterOvenDoorOpen the toaster oven door.
Robocasa-Task-CloseToasterOvenDoorCloseToasterOvenDoorClose the toaster oven door.
Robocasa-Task-OpenDishwasherOpenDishwasherOpen the dishwasher door.
Robocasa-Task-CloseDishwasherCloseDishwasherClose the dishwasher door.
Robocasa-Task-OpenMicrowaveOpenMicrowaveOpen the microwave door.
Robocasa-Task-CloseMicrowaveCloseMicrowaveClose the microwave door.
Robocasa-Task-OpenFridgeOpenFridgeOpen the refrigerator door.
Robocasa-Task-CloseFridgeCloseFridgeClose the refrigerator door.
Robocasa-Task-OpenCabinetOpenCabinetOpen a cabinet door.
Robocasa-Task-CloseCabinetCloseCabinetClose a cabinet door.

kitchen_drawer

Task IDTask NameDescription
Robocasa-Task-OpenDrawerOpenDrawerOpen the top drawer.
Robocasa-Task-CloseDrawerCloseDrawerClose the top drawer.
Robocasa-Task-SlideDishwasherRackSlideDishwasherRackSlide the top dishwasher rack in or out.

kitchen_electric_kettle

Task IDTask NameDescription
Robocasa-Task-OpenElectricKettleLidOpenElectricKettleLidPress the button to open the lid of the electric kettle.
Robocasa-Task-CloseElectricKettleLidCloseElectricKettleLidClose the lid of the electric kettle.
Robocasa-Task-TurnOnElectricKettleTurnOnElectricKettlePress down the lever to turn on the electric kettle.

kitchen_microwave

Task IDTask NameDescription
Robocasa-Task-TurnOnMicrowaveTurnOnMicrowavePress the start button on the microwave.
Robocasa-Task-TurnOffMicrowaveTurnOffMicrowavePress the stop button on the microwave.

kitchen_navigate

Task IDTask NameDescription
Robocasa-Task-NavigateKitchenNavigateKitchenNavigate the robot from a randomly chosen kitchen fixture to another, ensuring sufficient distance and a valid target type.

kitchen_oven

Task IDTask NameDescription
Robocasa-Task-PreheatOvenPreheatOvenPreheat the oven by turning the temperature knob.
Robocasa-Task-SlideOvenRackSlideOvenRackFully slide the oven rack in or out (bottom or top rack, as specified).

kitchen_pnp(Pick-and-Place Tasks)

Task IDTask NameDescription
Robocasa-Task-PnPCounterToCabinetPnPCounterToCabinetPick the object from the counter and place it in the cabinet.
Robocasa-Task-PnPCabinetToCounterPnPCabinetToCounterPick the object from the cabinet and place it on the counter.
Robocasa-Task-PnPCounterToSinkPnPCounterToSinkPick the object from the counter and place it in the sink.
Robocasa-Task-PnPSinkToCounterPnPSinkToCounterPick the object from the sink and place it on the container located on the counter.
Robocasa-Task-PnPCounterToMicrowavePnPCounterToMicrowavePick the object from the counter and place it in the microwave.
Robocasa-Task-PnPMicrowaveToCounterPnPMicrowaveToCounterPick the object from the microwave and place it on the container located on the counter.
Robocasa-Task-PnPCounterToOvenPnPCounterToOvenPlace the object on the rack of the oven.
Robocasa-Task-PnPOvenToCounterPnPOvenToCounterPick the object from the oven rack and place it on the plate on the counter.
Robocasa-Task-PnPCounterToStovePnPCounterToStovePick the object from the plate and place it in the pan on the stove.
Robocasa-Task-PnPStoveToCounterPnPStoveToCounterPick the object from the pan and place it in the container on the counter.
Robocasa-Task-PnPToasterToCounterPnPToasterToCounterPlace the toasted item on a plate.
Robocasa-Task-PnPCounterToToasterOvenPnPCounterToToasterOvenPlace the object on the rack or tray of the toaster oven.
Robocasa-Task-PnPToasterOvenToCounterPnPToasterOvenToCounterPick the object from the toaster oven rack or tray and place it on the plate on the counter.
Robocasa-Task-PnPCounterToStandMixerPnPCounterToStandMixerPlace the object in the stand mixer bowl.

kitchen_sink

Task IDTask NameDescription
Robocasa-Task-TurnOnSinkFaucetTurnOnSinkFaucetTurn on the sink faucet by manipulating the handle into the "on" position.
Robocasa-Task-TurnOffSinkFaucetTurnOffSinkFaucetTurn off the sink faucet by manipulating the handle into the "off" position.
Robocasa-Task-TurnSinkSpoutTurnSinkSpoutTurn the sink spout to the specified direction ("left" or "right").

kitchen_stand_mixer

Task IDTask NameDescription
Robocasa-Task-OpenStandMixerHeadOpenStandMixerHeadOpen the stand mixer head.
Robocasa-Task-CloseStandMixerHeadCloseStandMixerHeadClose the stand mixer head.

kitchen_stove

Task IDTask NameDescription
Robocasa-Task-TurnOnStoveTurnOnStoveTurn on the stove by manipulating the appropriate burner knob to the "on" position.
Robocasa-Task-TurnOffStoveTurnOffStoveTurn off the stove by manipulating the appropriate burner knob to the "off" position.

kitchen_toaster_oven

Task IDTask NameDescription
Robocasa-Task-AdjustToasterOvenTemperatureAdjustToasterOvenTemperatureAdjust the toaster oven temperature, either increasing or decreasing as directed.
Robocasa-Task-TurnOnToasterOvenTurnOnToasterOvenTurn on the toaster oven by setting the timer.
Robocasa-Task-SlideToasterOvenRackSlideToasterOvenRackFully slide the rack in or out of the toaster oven (supports top/bottom rack if present).

kitchen_toaster

Task IDTask NameDescription
Robocasa-Task-TurnOnToasterTurnOnToasterPush down the lever of the toaster to turn it on.

lift_obj

Task IDTask NameDescription
Robocasa-Task-LiftObjLiftObjectLift the Cube from counter.

Example

import gymnasium as gym
import inspect

# Retrieve the entry point path for the OpenDrawer task
entry_point = gym.spec("Robocasa-Task-OpenDrawer").kwargs.get("env_cfg_entry_point")
DrawerTaskCls = inspect.getfile(entry_point)
drawer_task = DrawerTaskCls()

# Similarly, retrieve the entry point for a pick-and-place task
entry_point_pnp = gym.spec("Robocasa-Task-PnPCounterToCabinet").kwargs.get("env_cfg_entry_point")
PnPTaskCls = inspect.getfile(entry_point)
pnp_task = PnPTaskCls()

# You can then pass the task object to IsaacLabArenaEnvironment or other frameworks
# isaac_env = IsaacLabArenaEnvironment(scene=anyscene, embodiment=anyrobot, task=drawer_task)
# isaac_env_pnp = IsaacLabArenaEnvironment(scene=anyscene, embodiment=anyrobot, task=pnp_task)

All atomic tasks are modular and categorized according to the corresponding source file in the codebase. These can be used individually or composed for more complex kitchen task pipelines.